A location-based service (or LBS) is a cellular telephone network service that may be provided to a subscriber based on a current geographical location. Current geographical position of a user may be determined by user entry or a GPS receiver carried by the user, for example. Alternatively, a radiolocation function may be built into the cellular network or a handset may use triangulation between the known geographic coordinates of the base stations through which communication takes place. Knowledge of the coordinates of base stations is owned and controlled by the network operator, and is generally not available to the end user or an organization with which the end-user is associated.
Examples of location based services might include finding a nearby restaurant. The ability to provide context awareness (e.g., location awareness) may also be used to improve the usability of mobile applications. For example, a list of friends or customers within a given range may be provided to an end user, if the location of the end user that is accessing a system (e.g., a cellular telephone system) can be determined. Currently, the determination of the location of the end-user is possible utilizing direct Global Positioning Service (GPS) accesses, which require a GPS receiver to be attached to the mobile devices and an ability to access GPS data (e.g. via a Java application). The determination of the location of an end-user is also possible utilizing, for example, GSM cellular identifier (Cell ID) triangulation, based on the signal strength for signal propagation delay.
The use of triangulation provides a number of disadvantages. First, the triangulation compilation has to be performed on the device (e.g., a mobile device, such as a cellular telephone) or needs to be provided as a service in a cellular network. Accordingly, the performance of the triangulation compilation requires the mobile device to provide sufficient computing power, or results in an increase in cellular network traffic. Secondly, the GPS coordinates of the base stations corresponding to particular cellular identifiers need to be known to perform a triangulation calculation. Typically, the coordinates associated with a particular cellular base station (and accordingly a cellular identifier) are known only to an operator of the cellular network.